package com.heima.apis.wemedia;

import com.heima.model.admin.dtos.SensitiveDto;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.wemedia.dtos.ChannelDto;
import com.heima.model.wemedia.dtos.NewsAuthDto;
import com.heima.model.wemedia.pojos.WmChannel;
import com.heima.model.wemedia.pojos.WmNews;
import com.heima.model.wemedia.pojos.WmSensitive;
import com.heima.model.wemedia.pojos.WmUser;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

/**
 * @Author: xrl
 * @Date: 2022/10/21  19:47
 * @Version 1.0
 */
@FeignClient("leadnews-wemedia")
public interface IWemediaCilent {

    /**
     * 查询敏感词列表
     */
    @PostMapping("/api/v1/sensitive/list")
    public ResponseResult list(@RequestBody SensitiveDto dto);

    /**
     * 删除敏感词
     */
    @DeleteMapping("/api/v1/sensitive/del/{id}")
    public ResponseResult delSensitive(@PathVariable("id") Integer id);

    /**
     * 添加敏感词
     */
    @PostMapping("/api/v1/sensitive/save")
    public ResponseResult saveSensitive(@RequestBody WmSensitive wmSensitive);

    /**
     * 修改敏感词
     */
    @PostMapping("/api/v1/sensitive/update")
    public ResponseResult updateSensitive(@RequestBody WmSensitive wmSensitive);



    /**
     * 频道列表查询
     */
    @PostMapping("/api/v1/channel/list")
    public ResponseResult selectAllChannel(@RequestBody ChannelDto dto);

    /**
     * 删除频道
     */
    @GetMapping("/api/v1/channel/del/{id}")
    public ResponseResult delChannel(@PathVariable("id") Integer id);

    /**
     * 新增频道
     */
    @PostMapping("/api/v1/channel/save")
    public ResponseResult saveChannel(@RequestBody WmChannel wmChannel);

    /**
     * 修改频道
     */
    @PostMapping("/api/v1/channel/update")
    public ResponseResult updateChannel(@RequestBody WmChannel wmChannel);

    /**
     * 开通自媒体账号
     */
    @PostMapping("/api/v1/auth/ok")
    public ResponseResult ok(@RequestBody WmUser wmUser);



    /**
     * 查询文章列表
     */
    @PostMapping("/api/v1/news/list_vo")
    public ResponseResult news_List(@RequestBody NewsAuthDto dto);

    /**
     * 查询文章详情
     */
    @GetMapping("/api/v1/news/one_vo/{id}")
    public ResponseResult news_ById(@PathVariable("id") Integer id);

    /**
     * 审核失败
     */
    @PostMapping("/api/v1/news/auth_fail")
    public ResponseResult auth_Fail(@RequestBody NewsAuthDto dto);

    /**
     * 审核成功
     */
    @PostMapping("/api/v1/news/auth_pass")
    public ResponseResult auth_Pass(@RequestBody NewsAuthDto dto);


    /**
     * 媒体审核
     */
    @PostMapping("/api/v1/news/list_vo")
    public ResponseResult ToExamine(@RequestBody NewsAuthDto dto);


    /**
     * 根据文章id查询自媒体文章的数据
     *
     * @param id
     * @return
     */
    @GetMapping("/api/v1/news/findOne/{id}")
    public WmNews findById(@PathVariable("id") Integer id);

    /**
     * 在审核的过程中,审核失败或者成功需要修改自媒体文章的状态
     *
     * @param wmNews
     * @return
     */
    @PostMapping("/api/v1/news/update")
    public ResponseResult updateWmNews(WmNews wmNews);

    /**
     * 在文章进行保存的时候需要查询作者信息，需要通过自媒体用户关联查询作者信息
     */
    @GetMapping("/api/v1/user/findOne/{id}")
    public WmUser findWmUserById(@PathVariable("id") Integer id);
}
